﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WeMakeSP.ImageResizer.Configuration;
using WeMakeSP.Platform.SharePoint.Web.UI.Views;

namespace WeMakeSP.ImageResizer.UI.Views
{
    /// <summary>
    /// The interface for image resizer settings views.
    /// </summary>
    public interface IImageResizerSettingsView : IViewPage
    {
        #region Properties

        /// <summary>
        /// Gets or sets a value indicating whether [configuration enabled].
        /// </summary>
        /// <value><c>True</c> if [configuration enabled]; otherwise, <c>false</c>.</value>
        bool ConfigurationEnabled
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the hours delay.
        /// </summary>
        /// <value>The hours delay.</value>
        int HoursDelay
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the hour schedule.
        /// </summary>
        /// <value>The hour schedule.</value>
        int HourSchedule
        {
            get;
            set;
        }

        /// <summary>
        /// Gets the list id.
        /// </summary>
        /// <value>The picture library list id.</value>
        Guid ListId
        {
            get;
        }

        /// <summary>
        /// Gets or sets the width of the max.
        /// </summary>
        /// <value>The width of the max.</value>
        int MaxWidth
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the height of the max.
        /// </summary>
        /// <value>The height of the max.</value>
        int MaxHeight
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the minute schedule.
        /// </summary>
        /// <value>The minute schedule.</value>
        int MinuteSchedule
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the minutes delay.
        /// </summary>
        /// <value>The minutes delay.</value>
        int MinutesDelay
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the mode.
        /// </summary>
        /// <value>The image resizer mode.</value>
        ImageResizerMode Mode
        {
            get;
            set;
        }

        /// <summary>
        /// Gets or sets the schedule.
        /// </summary>
        /// <value>The schedule.</value>
        ImageResizerSchedule Schedule
        {
            get;
            set;
        }

        #endregion
    }
}
